Управление районами
GeoManager
Управление районами.
class yandex_b2b_go.geo.GeoManager
Атрибут
-
ZoneInfoManager — управление зонами.
zoneinfo: ZoneInfoManager
Методы
- list — получает информацию обо всех доступных районах поездок клиента.
- create — создает новый район поездок клиента.
- update — измененяет район поездок клиента.
- delete — удаляет район поездок клиента.
List
Получает информацию обо всех доступных районах поездок клиента.
async def list(
limit: Optional[int] = None,
offset: Optional[int] = None
) -> GeoRestrictionsListResponse
Параметры
limit
— количество выводимых записей. При отсутствии данного параметра возвращается информация о первых 100 записях.offset
— количество пропускаемых записей. При отсутствии данного параметра возвращается информация начиная с первой записи.
В случае успешного выполнения возвращает класс GeoRestrictionsListResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import GeoManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
geo_manager = GeoManager(client=client)
try:
geos = await geo_manager.list(
limit=10,
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Create
Cоздает новый район поездок клиента.
async def create(geo_restrictions: GeoRestrictions) -> GeoRestrictionsResponse
Параметр
geo_restrictions
— параметры нового района. Класс GeoRestrictions.
В случае успешного выполнения возвращает класс GeoRestrictionsResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import GeoManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
geo_manager = GeoManager(client=client)
try:
geo_restrictions = typing.GeoRestrictions(
geo_type=typing.Geo.circle,
name='Офис 2',
geo=typing.GeoCircle(
lat=37.642639,
lon=37.642639,
radius=200
)
)
geo_id = await geo_manager.create(
geo_restrictions=geo_restrictions
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Update
Изменяет район поездок клиента.
async def update(geo_id: str, geo_restrictions: GeoRestrictions) -> GeoRestrictionsResponse:
Параметры
geo_id
— id района.geo_restrictions
— параметры нового района, класс GeoRestrictions.
В случае успешного выполнения возвращает класс GeoRestrictionsResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import GeoManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
geo_manager = GeoManager(client=client)
try:
geo_restrictions = typing.GeoRestrictions(
geo_type=typing.Geo.circle,
name='Офис 2',
geo=typing.GeoCircle(
lat=37.642639,
lon=37.642639,
radius=200
)
)
geo_id = await geo_manager.update(
geo_id='b45e...f0de',
geo_restrictions=geo_restrictions
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Delete
Удаляет район поездок клиента.
async def delete(geo_id: str) -> GeoRestrictionsResponse:
Параметр
geo_id
— идентификатор района.
В случае успешного выполнения возвращает класс GeoRestrictionsResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import GeoManager
from yandex_b2b_go import errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
geo_manager = GeoManager(client=client)
try:
geo_id = await geo_manager.delete(
geo_id='b45e...f0de',
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
ZoneInfoManager
Управление зонами.
class yandex_b2b_go.geo.ZoneInfoManager
Метод
- get — получает информацию о зоне, к которой принадлежит точка.
Get
Получает информацию о зоне, к которой принадлежит точка.
async def get(lat: float, lon: float) -> ZoneInfoResponse
Параметры
lat
— широта точки, принадлежащей зоне.lon
— долгота точки, принадлежащей зоне.
В случае успешного выполнения возвращает класс ZoneInfoResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import GeoManager
from yandex_b2b_go import errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
geo_manager = GeoManager(client=client)
try:
zone_info = await geo_manager.zoneinfo.get(
lat=32.093320,
lon=34.798363,
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())